Systems and methods for a home market alert service

ABSTRACT

Disclosed herein are a method, system, and computer-readable storage medium comprising instructions for notifying a user of available realty in proximity to the user&#39;s approximate current location. In an embodiment, a triggering location region is defined based on the user&#39;s approximate current location. The triggering location region includes a second location that is associated with another person&#39;s profile that correlates with the user&#39;s profile. An alert is automatically provided to the user if available realty is within the defined triggering location region. In another embodiment, if available realty within the triggering location region meets the user&#39;s preferred criteria, information about the available realty may be automatically provided to the user.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation and claims priority to U.S. patentapplication Ser. No. 12/060,416, filed Apr. 1, 2008 and is related bysubject matter to the embodiments disclosed in the following commonlyassigned applications: U.S. patent application Ser. No. 12/060,401 andU.S. patent application Ser. No. 12/060,403, each filed on Apr. 1, 2008and each entitled “Systems and Methods for a Home Market Alert Service,”and U.S. patent application Ser. No. 12/059,351, U.S. patent applicationSer. No. 12/059,474, U.S. patent application Ser. No. 12/059,563, eachfiled on Mar. 31, 2008 and each entitled “Systems and Methods for a HomeArea Recommender.” The disclosure of each application is incorporated byreference herein in its entirety.

BACKGROUND

Typically, individuals interested in purchasing or renting real estatewish to identify available properties that fall within the bounds oftheir selected search parameters (e.g., price range, square footage,number of bedrooms, etc.). A real estate agent or a listing serviceprovides a method of searching for realty so that an individual canbrowse and pare down realty listings based on the selected searchparameters. However, the details about each available property and themethod of providing those details to a user may be limited.

A user may identify areas of interest and include those areas in hissearch parameters. The listing service or a real estate agent may offera subscribing user or customer the option to receive periodic emailupdates. However, these email updates are typically scheduled forperiodic delivery to the user, such as once per day. Thus, the user maynot receive real time information. In addition, the email updatestypically only include listings or updates for properties withindesignated locations.

SUMMARY

Disclosed herein are a computer-readable storage media, methods,software applications, and computer systems for a location-based serviceapplication that uses a user's approximate current location to provideinformation about properties within a certain range of the user'slocation. The application may notify the user that he is in proximity toboth available realty and other people that share similar features withthe user. A real-time or near real-time alert can be generated to theuser on a suitable device to notify the user that they are within rangeof such a property location. The alert can automatically link the userto information about the property or neighborhood while on location. Theapplication may provide alerts or information to a user for propertiesthat satisfy more than basic property details.

This Summary is provided to introduce a selection of concepts in asimplified form that are further described below in the DetailedDescription. This Summary is not intended to identify key features oressential features of the claimed subject matter, nor is it intended tobe used as an aid in determining the scope of the claimed subjectmatter.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 depicts an example configuration of a system that compileslocation-relevant information and recommends locations to a user.

FIG. 2 depicts an example configuration of a recommend locations moduleutilized by the system in FIG. 1.

FIG. 3 depicts an example heat map representing triggering locationregions and a user's approximate current location.

FIG. 4 depicts an example method of defining a triggering locationregion.

FIG. 5 depicts an example method of alerting a user to available realtywithin a triggering location region.

FIG. 6 depicts an example method of sending property information to auser.

FIG. 7 depicts an example configuration of a system that compileslocation-relevant information utilizing a social network.

FIG. 8 depicts an example configuration of entities that are networkedto perform the disclosed techniques.

DETAILED DESCRIPTION OF ILLUSTRATIVE EMBODIMENTS

Disclosed herein is a location-relevant application that identifies thelocations of individuals with similar features to the user and notifiesthe user if any available realty is in proximity to those locations. Thesubject matter of the disclosed embodiments is described withspecificity to meet statutory requirements. However, the descriptionitself is not intended to limit the scope of this patent. Rather, theclaimed subject matter might also be embodied in other ways, to includeelements similar to the ones described in this document in conjunctionwith other present or future technologies.

It would be desirable to receive alerts about available realty that arein proximity to a user's current location. Furthermore, it would bedesirable that the alerts are received for available realty in proximityto other individuals that share common features with the user. It wouldbe desirable for the user to have the option of accessing furtherinformation about the alert, such as specifics about the property.Furthermore, it would be desirable that the details that are providedfor a property include information beyond the objective searchparameters provided by most listing services.

Embodiments are related to comparing a user's approximate currentlocation to available realty locations. The user's approximate locationmay be determined via location-based technology or otherwise provided bythe user. The available realty locations are those that are in proximityto individuals that have similar characteristics to the user. An alertmay be provided to the user to notify the user that they are in thevicinity of such available realty locations. The user may beautomatically provided information about the available realty when theuser enters the vicinity of the available realty location. Theapplication enables prospective buyers or renters to be notified whenthey are near available properties that may be of interest because theproperties are also close to similarly situated individuals. Theavailable properties may be real estate for sale or apartments for rent,for example.

FIG. 1 illustrates an example system 100 in which aspects of thetechniques described herein may be employed. System 100 may include user110, devices 150 and 190, global positioning system (GPS) 160, a userdatabase 115, a people database 120, a realty database 140, and arecommend locations module 180.

User 110, recommend locations module 180, realty database 140, userdatabase 115, people database 120, device 150, device 190, and GPS 160may communicate with one another by way of network 170, such as acommunications network. The network 170 may include, for example, anintranet, the Internet, a local area network (LAN), a wide area network(WAN), a public switched telephone network (PSTN), a cellular network, avoice over internet protocol (VoIP) network. User 110 may communicatewith recommend locations module 180 through device 150 over the network,for example.

Device 150 may be a wired or wireless phone, a computer, a facsimilemachine, an imbedded chip, a watch, or a personal digital assistant(PDA), for example. Device 150 may include a receiver, such as, forexample, a GPS receiver for receiving GPS information, such ascoordinate and time information, related to device 150.

Each of the databases 115, 120, and 140, may be any form of datastorage, including a storage module, device, or memory, for example. Thedatabases 115, 120, and 140, either separately or combined, may beprovided as a database management system, an object-oriented databasemanagement system, a relational database management system (e.g. DB2,Access, etc.), a file system, or another conventional database package.Further, the databases can be accessed via a Structure Query Language(SQL), or other tools known to one of ordinary skill in the art.

The realty database 140 may contain an inventory of realty information,such as a structured collection of records and/or data for real estateor rental properties, including residential properties, commercialproperties, lots of land, or the like. An entity such as a listingservice or a real estate agency may maintain and update the realtydatabase 140 or storage of realty information. For example, singleassociations of realtors or real estate brokers may control local andprivate realty databases. Often, the entity has reciprocal accessagreements to the commonly known Multiple Listing Service (MLS), whichis a group of private realty databases used by real estate brokers toshare information about available properties. The realty database 140may be downloaded onto a device 150 or device 190 that a user 110 canlocally access, or the realty database 140 may reside on a remote serverthat is accessible via the network 170.

The information in the realty database 140 may be structured to enable aperson or program to extract desired information so that the service canshare information about realty that is available. The realty database140, shown as a single database, represents any number of databases ordata stores that include realty information that may be accessed todetermine available realty locations 245. The realty database 140 may bepublicly accessible and searchable and may include homes available inthe marketplace for purchase or rent, including homes listed in theMultiple Listing Service (MLS), homes for-sale-by-owner, etc. Not allsellers or realtors choose to list their realty on the MLS. Homesfor-sale-by-owner typically includes realty information that is notcontained in the Multiple Listing Service. Sometimes, an alert to newhomes for sale is accomplished via word of mouth. A user 110 or entityacting on behalf of the user 110 may input realty information into awebsite, device 190, or on his device 150, for example, that may besearched or accessed similar to listings on a MLS. A separate databasewith realty information other than realty information from the MLS maybe maintained and accessed separately from a database with MLSinformation, or they may be combined. The information from the realtydatabase 140 may be shared a variety of ways, such as on the internet orthrough distribution in newspapers, etc. For example, the user mayaccess the realty database 140 from a web type of browser.

User database 115 may operate to store multiple user identifiers, whereeach user identifier is associated with a user 110. A user identifiermay include information related to the user 110 and a device 150 or 190associated with the user. A user identifier associated with user 110 mayinclude an identification given to user 110 which may be, for example, arandomly generated character and/or number string or a name of user 110,and information related to device 150 associated with user 110, such as,for example, a mobile phone number.

The user identifier may be linked to a user profile associated with theuser 110. The profile may include information about the user 110, suchas the user's age, number of children, etc. The user identifier may alsobe associated with preferred criteria associated with the user 110,where the preferred criteria set forth parameters for searching therealty database 140. Preferred criteria may include details that theuser 110 is seeking in a property to buy or rent, such as the preferrednumber of bedrooms, or his preferred price range. The authoritymaintaining the user database 115 may suggest preferred criteria for auser based on user details, such as setting the preferred number ofbedrooms to three if the user has two children.

The people database 120 may contain an inventory of information aboutindividuals, for example. The people database 120 may compileinformation about individuals in the form of other person's profiles,each of the profiles being associated with a location. The link betweenanother person's profile and the location may be based on the residenceof the individual, such as the address of the property they own or rent.For example, another person's profile may include an individual's name,age, and profession; the location associated with the other person'sprofile may be the person's residential address.

The people database 120 may include information from a variety ofsources. For example, a service provider could collect and storeinformation about its customers and maintain a people database 120. Theservice provider may be any organization or business that provides aservice to a consumer or business, or the like. Examples of suchentities include membership organizations, such as employer/employeeorganizations, and providers of services, such as insurance companies,home-locator services, employers seeking to provide information to itsemployees, or the like. For example, an employee may maintain a peopledatabase 120 of employee information, which includes descriptive detailsof each employee, such as their name, address, etc. In another example,a listing service or real estate agency manages both the people database120 and the realty database 140 to provide available realty locations toits customers.

The information in the people database 120 may be structured to enable aperson or program to extract desired information so that the service canshare information about individuals and where they live. Thus, thepeople database 120 may be publicly accessible and searchable and mayenable an entity to access the other person's profiles to compare themto a user profile from the user database 115.

The recommend locations module 180 may compare information from thedatabases 115, 120, and 140, to recommend a location to the user 110based on the user's approximate current location. The recommendlocations module 180 may define triggering location regions. If theuser's 110 approximate current location is in proximity to an availablerealty located within or around the triggering location region, therecommend locations module 180 may alert the user 110.

Location information pertaining to the user 110 may be received from avariety of types of position determining equipment having differentunderlying technologies, such as: GPS (Global Positioning System); angleof arrival (AOA); time difference of arrival (TDOA); Line of Sight(LOS); etc. FIG. 1 shows the use of GPS 160 to assist in thedetermination of the location of device 150 associated with user 110.For example, GPS 160 may include multiple satellites that orbit abovethe Earth. The GPS satellites may each contain a computer, an atomicclock, and a radio, operating to continuously broadcast its changingposition and time. A GPS receiver, such as the receiver in device 150,may contain a computer or processing unit operating to calculate theposition of the GPS receiver through receipt of time signals. Theposition may be calculated from three satellites through a processcalled trilateration or through a process called triangulation, forexample. The position may be provided in the form of a longitude andlatitude. The GPS receiver may further calculate altitude, speed oftravel, and direction of travel.

The property information could alternatively be sent to another device190. Device 190 may be a computer at home, a facsimile machine, a watch,a personal digital assistant (PDA), and the like, for example. If theuser 110 does not have the ability to review the property informationimmediately, the information may be later accessed from device 190. Anentity that maintains realty information, such as the entity managingthe realty database 140, may provide property information to the user110 over the network 170.

The location-based technology may continuously determine the location ofuser 110, such as through device 150. The user database 115 may beupdated to store these locations, along with the time, and theproperties identified by the recommend locations module 180. To conservestorage space in realty database 140, the realty information may bestored at a predetermined time interval and may be deleted after apredetermined time period has elapsed. For example, available realtyinformation related to user's 110 location may be captured in the userdatabase 115 every 20 minutes. User database 115 may delete theavailable realty information related to user 110 after the informationhas been stored for 10 days, for example. The authority maintaining theuser database 115 may decide the factors (e.g. when to perform thedeletions) concerning realty database 140, for example. The userdatabase 115 may store previously identified realty locations andsuppress the alert if the user has previously dismissed the property orhas specifically requested that the location is not to trigger an alert.

FIG. 2 illustrates an example recommend locations module 180 and theinformation processed by the recommend locations module 180. Therecommend locations module 180 may operate to define triggering locationregions and determine if available realty is located in or around thosetriggering location regions.

The recommend locations module 180 may include several means, devices,software, and/or hardware for performing functions, including an examplelocation determination module 205, an example triggering location regiondetermination module 240, and an example location comparison module 260.Location determination module 205 may include GPS communication module220, user communication module 210, and user storage communicationmodule 230. The triggering location region determination module 240 mayinclude a profile comparison module 250.

Location determination module 205 may employ device 150 associated withuser 110 and GPS 160 to assist in a location determination process. Thedevice 150 that is associated with the user 110 may receive informationfrom and provide information to location determination module 205. GPScommunication module 220 may communicate with GPS 160 to obtain the GPSinformation of device 150. GPS information may include a timestamp withthe longitude and latitude coordinates of device 150. Alternately, thelocation may be in the form of an address, with a street number, city,and state, for example. Location determination module 205 may providethe determined location user storage communication module 230.

User communication module 210 may provide an indication to user storagecommunication module 230, which may operate to identify a useridentifier associated with user 110. User storage communication module230 may provide the GPS position and the user identifier to userdatabase 115 for storing the GPS information and associating theinformation with a user identifier. User storage communication module230 may communicate the user identifier with user database 115 to accessdetails in the user's profile or preferred criteria associated with theuser 110. The location determination module 205 may provide thedetermined user's approximate current location to triggering locationregion determination module 240.

The triggering location region determination module 240 may include aprofile comparison module 250. The profile comparison module 250 mayaccess a user profile associated with the user identifier. The userprofile may be retrieved from the user database 115. Alternately, theuser storage communication module 230 may provide the user profile tothe location determination module 205 to be sent to the triggeringlocation region determination module 240.

The profile comparison module 250 may compare the user profile to otherperson's profiles from the people database 120. The profile comparisonmodule 250 may compare other person's profiles to a user profile bycomparing an item in the user profile to items in the other person'sprofiles. A particular item may be selected as a comparison item. Forexample, a user may be an employee relocating to a new area. The usermay select his profession and his employer as the selected comparisonitem from his user profile. The profile comparison module 250 willsearch the other person's profiles in the people database 120 to findindividuals that have the same or a similar profession that work for thesame employer, for example.

The other person's profiles are each linked to a location, such as anindividual's residence, for example. If an item in a user's profile,such as a select comparison item chosen by the user 110, correlates toan item in any of the other person's profiles the locations associatedwith the correlating other person's profiles along with the user'sapproximate current location as determined by the location determinationmodule 205, are used to define a triggering location region. Profilesmay correlate if they have matching items or similar concepts.

The user's 110 approximate current location combined with the locationsof the correlating other person's profiles are used to define atriggering location region or regions. The triggering location regiondetermination module 240 uses the user's 110 approximate currentlocation and the locations that result from the profile comparisonmodule 250 to define a triggering location region or to define multipletriggering location regions. For example, the triggering location regionmay be defined as any area within a specified range from the user'sapproximate current location. A larger triggering area region mayencompass multiple more focused triggering area regions that are shapedand positioned based on clusters of locations that result from theprofile comparison module 250. For example, an encompassing triggeringarea region may include a single location or all of the locationsassociated to the correlating user 110 profiles as determined by theprofile comparison module 250. The focused triggering area regions maybe distributed around locations with a higher population or proximity ofother users associated to those locations. The focused triggering arearegions may be defined, for example, by a high concentration ofoverlapping areas, where each area is a region around a locationassociated to a correlated other person's profile. The triggeringlocation regions may be represented in the form of a heat map, which isa graphical representation of the locations from the profile comparisonmodule 250 shown on a two-dimensional map.

A predetermined range from the user may be set to define the outerbounds of the outermost triggering location region. Alternately, therange from the user may be a variable range that is modified based onthe locations that result from the profile comparison module 250. Forexample, the user may select a suggested range within which he wouldlike to receive alerts or property information for available realty ofinterest that are within that range from the user's 110 approximatecurrent location. However, a cluster of locations that result from theprofile comparison module 250 may extend beyond that suggested range, orthere may be a cluster of locations that are just beyond the suggestedrange. The range may be statistically varied to include locations beyondthe user's suggested range under the appropriate circumstances. The user110 may select to include an area as a triggering location region thatis not within his range, but has a high concentration of locationsassociated to correlating person profiles. Each triggering locationregion may receive a rank that corresponds to the number and/orproximity of locations associated to correlating user profiles withinthat region.

The location comparison module 260 may compare the location of theavailable realty locations 245 to the triggering location region(s) todetermine if any available realty locations 245 are within thetriggering location region(s). For example, an available realty location245 may be the latitude and longitude boundaries of a house for sale.The coordinates of the available realty location 245 may be comparedagainst the bounds of the triggering location region. If the availableproperty is in part or entirely within the triggering location region,then it follows that the user is within a certain range from theavailable property since the triggering location region is defined by avariable range from the user.

The available realty locations 245 that are compared against thetriggering location region may be pared down by preferred criteria. Auser 110 or an entity acting on behalf of the user 110 may selectpreferred criteria to define baseline search parameters associated withthe user 110. The user 110 may be looking to purchase realty, and he mayset preferred criteria to include search parameters of a desiredproperty. For example, the search parameters could be objectiveinformation desired in a specific property, such as the number ofbedrooms, price range, and square footage, for example. Thus, theavailable realty locations 245 may be a subset of locations of theavailable realty in realty database 140 based on the user's preferredcriteria.

The location comparison module 260 compares the available realtylocations 245 to the triggering location region determined by thetriggering location region determination module 240. The locationcomparison module 260 determines if any of the available realtylocations 245 overlap or are within the triggering location region. Ifso, the property may be a recommended location 280.

The user 110 may be notified that the user 110 is on or in proximity toan available realty location. If the available realty location is withina triggering location region and also meets a user's preferred criteria,the user 110 may be automatically provided with property informationrelated to the recommended location 280. If the available realtylocations 245 are not pared down based on the user's preferred criteria,the user 110 may automatically be provided with an alert. The user 110will know that the alert is for a location within a triggering locationregion and that the location correlates to another person's profile withat least one item that correlates to the user's profile. If desired, theuser 110 can choose to access further information about the property. Inthis way, the user 110 may consider properties that are not withinpreferred criteria but that may be of interest because of the proximityof the available realty locations 245 to other similarly situatedindividuals. A service maintaining the realty database 140, such as alisting service, or an entity maintaining the people database 120, suchas a service provider, may provide the alert 290 or property informationto the user 110.

The alert or property information may be provided to the user 110 on thedevice 150. For example, the results may be received through a phonecall, text message, email, or other message through device 150. Themessage may include an update of a program embedded on a device 150 thatis capable of displaying the results in some manner, such as throughtext, map, image, etc. Depending on the device, the user 110 may selectthe alert, or follow a link associated with the alert, to receive moreinformation if desired. The alert may include a link to propertyinformation, or an automatic email could be sent. The user 110 may viewa heat map that quantitatively depicts the locations of the correlateduser profile locations within a triggering location region, as well asproviding an indication as to available realty locations 245 locatedwithin that triggering location region. Thus, the user 110 may beprovided real-time or near real-time access to property informationassociated with the user's location that triggered the alert, forexample, while the user 110 is at or near the available realty.

The location comparison module 260 may automatically perform comparisonsbased on the inputs from the triggering location region determinationmodule 240, which is directly tied to the user's approximate currentlocation. The user 110 may not need to initiate a request, but ratherreceive automatic alerts from the entity utilizing the locationcomparison module 260. The location comparisons may be performedcontinuously. For example, if the device 150 is a cell phone or laptop,or the like, the location of the device 150 associated with the user 110may be constantly changing as the user 110 carries the device 150 withhim. Thus, the location comparison module 260 may be constantlyperforming updates of the user's location and comparing the user'schanging location against both locations that result from the profilecomparison module 250 and locations in the realty database 140.

An example scenario demonstrates the uses of the applications described.For example, David is the user 110, and he has been relocated to a newoffice three towns away. David, as user 110, has a personal digitalassistant (PDA) with him, which is the device 150 associated with theuser. He and his wife, Mary, take a drive to the new job location tofamiliarize themselves with the area. They would like to move closer toDavid's new job location.

David may have a user profile stored in the user database 115 thatincludes information about himself such as his age, profession,employer, or marital status, for example. Other person's profiles frompeople database 120 may include similar objective details about otherindividuals. David may have created his user profile, or it may havebeen created by a third party. The profiles may be stored by a serviceprovider or other organization. For example, a user's insurance companyor bank may store details about the user that make up the user'sprofile. Online databases may maintain profile information pertaining toa user as well, such as a database maintained by a social networkingwebsite.

The location determination module 205 may employ device 150 associatedwith user 110 and GPS 160 to assist in determining David's approximatecurrent location. The profile comparison module 250 compares David'suser profile to other person's profiles. David could select comparisonitems from his user profile to be compared against other person'sprofiles. For example, he may highlight salary range, marital status,and profession. David may desire to live near other people withfamilies, or that went to a particular undergraduate school. He may berelocating as an active officer in the military and want to buy or rentproperty by other military personnel.

The profile comparison module 250 identifies any other person's profilesthat correlate to David's user profile or satisfy his selectedcomparison items. The locations, in combination with the user'sapproximate current location, are used to define a triggering locationregion. In this example, David set the outer bounds of the triggeringlocation regions to be five miles from his approximate current location,and he drives to the parking lot of his new office. At least one otherperson's profile is linked to a location within 5 miles of David, andthe boundary around that location is defined in this example to be thetriggering location region.

If an available realty location is determined to be within a triggeringlocation region, David is alerted on his device 150, in this case a PDA.If David has a suitable device 150, he may be provided propertyinformation or follow a link provided with the alert to display moreinformation. Thus, David can view property information that is inproximity to his current location. Rather than having to drive throughan area aimlessly looking for “for sale” signs, David and Maryautomatically know if they are in an area with properties that may be ofinterest to them. If David had selected preferred criteria, such as adesired property price range or number of bedrooms, the available realtylocations 245 that are compared against the triggering location regionmay be a subset of the available realty locations 245 from the realtydatabase 140. David may automatically receive the property informationin these circumstances because the information automatically providedare from an even more focused search that are particular to his desires.

When an available realty location is identified within a triggeringlocation region, an alert is sent to the user 110. Depending on thedevice 150, the user 110 may select the alert, or follow a linkassociated with the alert, to receive more information if desired. Forexample, the alert may include a link to property information ordirections to the available realty. The user 110 may be able to accessthe heat map as depicted in FIG. 3 that quantitatively depicts thelocations of the correlated user profile locations within the triggeringlocation region, as well as providing an indication to available realtylocations located within that triggering location region.

An example snap shot of a user's travels and the calculated triggeringlocation regions are displayed on the heat map in FIG. 3. The triggeringlocation region(s) may move with the user. As the user travels, thelocation determination module is constantly updating the user's locationand providing it to the triggering location region determination module.The triggering location regions are at least in part defined based onthe locations that result from the profile comparison module 250(depicted in FIG. 2). FIG. 3 includes an example user 110 and a snapshot of the user's location, the bounds for the outermost triggeringlocation region, Area #1, and the different colors which representdifferent concentrations of individuals that are similarly situated tothe user.

In this example, the user's approximate current location is shown to benear the center of the displayed map. The location determination module205 depicted in FIG. 2 may determine the user's approximate currentlocation. The outer bounds of the triggering location region in thisexample is set to be approximately 10 miles around the user's 110approximate current location, as shown by area #1. This outermosttriggering location region may be a variable range, such as a discretevalue that may change. As shown in FIG. 3, the outermost triggeringlocation region, represented by Area #1, may encompass multiple focusedtriggering location regions, represented by Areas #2, #3, #4, and #5.Each triggering location region may be shaped and colored based on thenumber and proximity of locations that result from the profilecomparison module 250 previously described.

In general, the heat map may display colors to represent,quantitatively, the location of users with correlating user profilesthat are within the discrete or variable range from the user's 110approximate current location. A focused triggering location region maybe defined by a clustering technique, which partitions the locationsassociated to correlating user profiles. Colors on the map may representclusters of locations associated with correlating user profiles. A user110 may view the pictorial representation of the heat map along with anindication of available realty on the heat map. Thus, the user 110 has avisual representation of other user locations with respect to the user's110 approximate current location.

[A user 110 may view the pictorial representation of the heat map alongwith an indication of available realty on the heat map that are locatedwith respect to the user's 110 approximate current location. Forexample, available realty #1 is a house for sale and is shown in closeproximity to a focused triggering location region, area #2. Availablerealty #2 is an apartment for rent and is shown in close proximity to afocused triggering location region, area #3. Available realty #3 is ahouse for sale, but is not located near a significant number ofindividuals that share common features to the user 110. Thus, the user110 is notified if and when he is nearby individuals that share similarfeatures to the user 110, and in addition, the user 110 is notified ifthere are any available realty locations. However, if available realty#1 and #2 did not exist, the user 110 could still be notified ofavailable realty #3 because it is within area #1, which is a triggeringlocation region. By viewing the heat map, the user 110 can further paredown the locations of the similarly situated individuals and thelocations of any available realty. The user 110 may also view otherareas on the map that indicate similarly situated users, even if thereis no available realty, such as the triggering location regionsindicated by areas #4 and #5.

The heat map may include display of multiple colors, each providing adifferent indication regarding the colored area. A color range may beshown on the map that directly indicates how close a realty is to auser's approximate current location, and a similar or different colorrange may indicate how close available realty is to the user's preferredcriteria or to similarly situated people. For example, one color may beused to indicate houses within close proximity to a user's approximatecurrent location that correlate to the user's preferred criteria, andanother color may be used to indicate realty within close proximity to auser's approximate current location that correlates to people that havesimilar features to the user. Different strengths of the color could bean indication of percentages. For example, dark green and light greencould represent more or less available realty locations, respectively,within proximity to the user's approximate current location that meetthe user's preferred criteria. Different colors could be used toindicate a range of correlation, as well, such as certain colors thatindicate a 70% match to the user's preferred criteria, for example.

The heat map may be stored by the user. Specific information provided bythe heat map may be quantitatively stored, such as addresses foravailable realty locations shown. A screen shot or a single instance ofthe heat map may be stored and interactively accessed at a later time.The storage of the information may be done by the device 150 or sent asa data file to device 190, stored with the user's profile, stored by anentity acting on behalf of the user 110, or the like.

FIG. 4 depicts an example of a method for defining a triggering locationregion. At 402, a user's approximate current location is determined. Theuser's approximate current location may be identified usinglocation-based technology as described above, such as GPS. For example,a location determination module may employ a device associated with theuser and GPS technology to assist in a location determination process.

Each of the other person's profiles from 404, which are associated witha location, may be input into 408 for a determination of the otherperson's profiles that are associated with a location within a variablerange from the user's approximate current location. The other person'sprofiles at 404, which are associated with a location, may be based onthe proximity of the location associated with the other person's profileto the user's approximate current location. The location associated withthe other person's profile from 404 may need to be within a certainrange from the user's approximate current location, for example.

At 410, the other person's profiles are compared to the user's profileby comparing an item in the user profile to items in other person'sprofiles. A particular item may be selected as a comparison item. Forexample, a user may be an employee relocating to a new area. The usermay select his profession and his employer as the selected comparisonitem from his user profile. The profile comparison module will identifythe other person's profiles from 404 that have the same or a similarprofession that work for the same employer, for example.

If an item in the user profile, such as a select comparison item chosenby the user, correlates to an item in any of the other person's profilesfrom 404, the locations associated with the correlating other person'sprofiles, along with the user's approximate current location, are usedto define a triggering location region.

FIG. 5 depicts an example method for automatically sending alerts to auser for available realty locations that are within the triggeringlocation region. At 502, available realty locations are identified. Forexample, an entity may perform a search on a realty database to identifyavailable realty locations. At 506, the available realty locationsidentified at 502 are compared against the triggering location regiondetermined at 504. The triggering location region may be determined asdescribed in FIG. 4 or represented by the heat map depicted in FIG. 3.If any available realty locations are found to be within the triggeringlocation region, an alert may be automatically sent to the user. Becausethe triggering location region is directly correlated to the user'sapproximate current location, the method depicted in FIG. 3 may becontinuously performed as the user's approximate current locationchanges and may provide automatic alerts to the user when an availablerealty location satisfies the conditions set forth.

When an available realty location is identified within a triggeringlocation region, an alert is sent to the user at 508. Depending on thedevice, the user may select the alert, or follow a link associated withthe alert, to receive more information if desired. For example, thealert may include a link to property information or directions to theavailable realty. The user may be able to view the heat map as depictedin FIG. 3 that quantitatively depicts the locations of the correlateduser profile locations within the triggering location region, as well asproviding an indication to available realty locations located withinthat triggering location region.

FIG. 6 depicts an example method for automatically generating andproviding available realty information to a user. In this embodiment,the available realty locations that are compared against the triggeringlocation region are pared down by preferred criteria. The preferredcriteria may be selected at 602 may provide baseline search parametersassociated with a user 110. For example, the user 110 may be looking topurchase realty, and he may set preferred criteria to include searchparameters of a desired property. The search parameters could beobjective information desired in a specific property, such as the numberof bedrooms, price range, and square footage, for example. The preferredcriteria may also include information that can be measured subjectively.

At 606, the user's preferred criteria is compared against availablerealty information provided by 604. If any of the preferred criteriacorrelates to available realty information, those locations are selectedfor comparison to a triggering location area at 610. The triggeringlocation region may be defined at 608 and provided for comparison at610. If none of the preferred criteria correlates to available realtyinformation, the method may terminate. Alternately, a user 110 mayselect to be notified periodically when no correlations are made, or beprovided available realty with an indication that the available realtydoes not correlate to the user's 110 preferred criteria.

If any available realty locations are found to be within the triggeringlocation region, the property information may be automatically sent tothe user at 612. If none of the correlated available realty locationsare within any of the triggering location regions, the method mayterminate. Alternately, a user 110 may select to be notifiedperiodically when no correlations are made, or be provided availablerealty within the triggering location region with an indication that theavailable realty does not correlate to the user's 110 preferredcriteria. Because the triggering location region is directly correlatedto the user's approximate current location, the method depicted in FIG.3 may be performed continuously, providing automatic propertyinformation to the user when an available realty location satisfies theconditions set forth. The realty information provided to the user by themethod depicted in FIG. 6 will be properties that are available, meetthe user's preferred criteria, and are within a certain range from otherindividuals with similar features to the user.

Many individuals consider other factors besides the basic details abouta property to determine if a location appeals to them. For example,subjective information about a neighborhood or the area may help anindividual decide if an available realty is of interest. Subjectiveinformation may be information belonging to a subject rather than to theobject of thought, such as an individual's opinions about a location.For example, prospective buyers of real estate in an area may beinterested in knowing a resident's opinion and assessment oflocation-relevant attributes, such as how busy they think traffic is inthe area or if a neighbor has an incessantly barking dog. Prospectiverenters may want opinions from current or previous tenants, such astheir opinion about whether an apartment building is kid-friendly, or iftheir landlord has a tendency to delay fixing reported problems. Thepreferred criteria associated with a user may include both subjectiveand objective information.

FIG. 7 illustrates an example system 700 in which aspects of thetechniques described herein may be employed, where the preferredcriteria includes both objective and subjective information. Examplesystem 700 may incorporate location-relevant subjective information thatmay be compared against the preferred criteria set by a user. System 700may include an objective information database 716, a subjectiveinformation database 720, and other person's profiles 724 that areassociated to an associated location 722. The associated location 722may be defined narrowly, such as a single property location, or it maybe broader and encompass, for example, a neighborhood, a region, anapartment complex, etc. Further, the system 700 may include a socialnetwork 718, a service provider 714, and a comparison module 728 Thecomponents may communicate over a communications network 170 to shareinformation, as shown in FIG. 1. Any of these components may have directaccess to each other for sharing or storing information.

System 700 may include a social network 718 for collecting informationassociated to an associated location 722, including subjectiveinformation that is compiled by the subjective information database 720.Social networking services are becoming more commonplace for buildingonline social relationships for communities of people that shareinterests and activities. The social network 718 may be web-based andprovide a variety of ways for users 110 and to interact, such as throughchat programs, email, video, file sharing, discussion groups, etc. Thesocial network 718 may have additional features, such as the ability tocreate groups that share common interests or affiliations, uploadvideos, or hold discussions in forums. The user 110 may input a userprofile 706 onto the social network 718. Other users may also createprofiles on the social network 718, input comments onto the socialnetwork 718, or access information from the social network 718.

In general, social networking services break down into two broadcategories: internal social networking (ISN) and external socialnetworking (ESN) sites. An ISN is a closed/private community thatconsists of a group of people within a company, association, society,education provider and organization or even an “invite only” groupcreated by a user 110 in an ESN. An ESN is open/public and available toall web users to communicate and are designed to attract advertisers

Services such as social networking sites, and the like, typicallycontain directories of some categories, such as former classmates,connecting with friends, etc. Personal networks may be created betweenfriends, family, colleagues, classmates, or people that are otherwisesimilarly situated. Individuals tend to be more likely to trust andvalue the opinions of people they know, and the network relationshipsprovide a way for people to connect to more people. Individuals willalso be more likely to trust people that are similarly situated, even ifthey do not know them personally. For example, employees of the samecompany that are located in different parts of the country or world maytrust or value the opinion of a fellow employee who they have never metin person merely because they have similar circumstance.

Thus, the subjective information database 720 may compile informationthat is stored, input, or otherwise gathered through the social network718, and this subjective information may be associated to an associatedlocation 722. For example, a contributor to the social network 718 couldinclude a comment about a certain location or provide information abouta particular neighborhood by tagging the comment with the correspondinglocation. The information may be specific to an address or be broadinformation about an area. For example, a user 110 of the social network718 could identify an address and include a note about a very noisy dog.Or, a user 110 could select an area by zip code or neighborhood name andprovide an opinion about traffic or speculations as to why a road isclosed to the public, for example.

User profiles 106 and other person's profiles 724 may includeinformation from a variety of sources. For example, the profiles 706 and724 could be created on the social network 718, uploaded from a serviceprovider 714, or stored by an employer. The other person's profiles 724are associated to a location, such as associated location 722, so theinformation in the other person's profile 724 may also be associated tothe associated location 722. For example, another person's profile 724may include an individual's name, age, and profession, and be associatedto the person's residential address. Thus, an individual may provideinformation about a location on a social network 718, for example, andthe profile 724 could be associated to one associated location, such asassociated location 722. However, the information that the individualplaces on the social network 718 could be associated to a differentlocation, the different location being the location for which theindividual is providing information. For example, the individual couldselect an address or a street and provide subjective information,despite where the user resides. As described above, the subjectiveinformation database 720 may compile and link both the information andthe associated location 722.

Thus, a collaboration of the components in system 700 could result inthe aggregation of location-relevant and people-relevant information. Acomparison module 128 may then utilize this information to providerecommended locations to the user 110. The entity that utilizes thecomparison module 728 may automatically generate and provide therecommended location(s) 126 to a user. Thus, the user 110 does not haveto search through a social network 718 to find out certain information.For example, the user 110 could receive daily email updates with therecommendations.

There are many scenarios that would benefit from the location-relevantapplication described. For example, it is common for prospective buyersto drive by a property for sale that did not come up in their searchbecause of certain selected criteria, but that appeals to them inperson. Some users may not be actively searching for a home, but theyare alerted to a property that they want to follow up on. Users may beon a trip, or visiting a friend, and be alerted to a vacation home, or afixer-upper that they want to invest in. Some prospective buyers like todrive to an available property to evaluate the property from the outsideand make observations as to the surrounding properties and surroundingneighborhood amenities. On location, or close by, the user can accessinformation about the neighborhoods, schools, crime rate, traffic,zoning, and work commutes. The user can observe the property in personwith minimal delay.

Alerts may be provided to a user when they are near an available realtylocation that has had a change in information, such as a price change,or if the property goes under contract. The available realty may havebeen previously identified as a property of interest by the user, eitherautomatically based on their preferred search, or selected by the useror a user's agent.

FIG. 8 depicts an exemplary networked computing environment in whichmany computerized processes may be implemented to perform the processesdescribed above. One of ordinary skill in the art can appreciate thatnetworks can connect any computer or other client or server device, orin a distributed computing environment. In this regard, any computersystem or environment having any number of processing, memory, orstorage units, and any number of applications and processes occurringsimultaneously, is considered suitable for use in connection with thesystems and methods provided.

Distributed computing provides sharing of computer resources andservices by exchange between computing devices and systems. Theseresources and services include the exchange of information, cachestorage and disk storage for files. Distributed computing takesadvantage of network connectivity, allowing clients to leverage theircollective power to benefit the entire enterprise. In this regard, avariety of devices may have applications, objects or resources that mayimplicate the processes described herein.

FIG. 8 provides a schematic diagram of an exemplary networked ordistributed computing environment. The environment comprises computingentities 802, 804, 812, and 814 as well as objects 806, 808, and 810,and database 816. Each of these entities 802, 804, 806, 808, 810, 812,814, and 816 may comprise or make use of programs, methods, data stores,programmable logic, etc. The entities 802, 804, 806, 808, 810, 812, 814,and 816 may span portions of the same or different devices such as PDAs,audio/video devices, MP3 players, personal computers, etc. Each entity802, 804, 806, 808, 810, 812, 814, and 816 can communicate with anotherentity 802, 804, 806, 808, 810, 812, 814, and 816 by way of thecommunications network 870. In this regard, any entity may beresponsible for the maintenance and updating of a database 816 or otherstorage element.

This network 870 may itself comprise other computing entities thatprovide services to the system of FIG. 6, and may itself representmultiple interconnected networks. In accordance with an aspect of thepresently disclosed subject matter, each entity 802, 804, 806, 808, 810,812, 814, and 816 may contain discrete functional program modules thatmight make use of an API, or other object, software, firmware and/orhardware, to request services of one or more of the other entities 802,804, 806, 808, 810, 812, 814, and 816.

It can also be appreciated that an object, such as 810, may be hosted onanother computing device 812. Thus, although the physical environmentdepicted may show the connected devices as computers, such illustrationis merely exemplary and the physical environment may alternatively bedepicted or described comprising various digital devices such as PDAs,televisions, MP3 players, etc., software objects such as interfaces, COMobjects and the like.

There are a variety of systems, components, and network configurationsthat support distributed computing environments. For example, computingsystems may be connected together by wired or wireless systems, by localnetworks or widely distributed networks. Currently, many networks arecoupled to the Internet, which provides an infrastructure for widelydistributed computing and encompasses many different networks. Any suchinfrastructures, whether coupled to the Internet or not, may be used inconjunction with the systems and methods provided.

A network infrastructure may enable a host of network topologies such asclient/server, peer-to-peer, or hybrid architectures. The “client” is amember of a class or group that uses the services of another class orgroup to which it is not related. In computing, a client is a process,i.e., roughly a set of instructions or tasks that requests a serviceprovided by another program. The client process utilizes the requestedservice without having to “know” any working details about the otherprogram or the service itself. In a client/server architecture,particularly a networked system, a client is usually a computer thataccesses shared network resources provided by another computer, e.g., aserver. In the example of FIG. 8, any entity 802, 804, 806, 808, 810,812, 814, and 816 can be considered a client, a server, or both,depending on the circumstances.

A server is typically, though not necessarily, a remote computer systemaccessible over a remote or local network, such as the Internet. Theclient process may be active in a first computer system, and the serverprocess may be active in a second computer system, communicating withone another over a communications medium, thus providing distributedfunctionality and allowing multiple clients to take advantage of theinformation-gathering capabilities of the server. Any software objectsmay be distributed across multiple computing devices or objects.

Client(s) and server(s) communicate with one another utilizing thefunctionality provided by protocol layer(s). For example, HyperTextTransfer Protocol (HTTP) is a common protocol that is used inconjunction with the World Wide Web (WWW), or “the Web.” Typically, acomputer network address such as an Internet Protocol (IP) address orother reference such as a Universal Resource Locator (URL) can be usedto identify the server or client computers to each other. The networkaddress can be referred to as a URL address. Communication can beprovided over a communications medium, e.g., client(s) and server(s) maybe coupled to one another via TCP/IP connection(s) for high-capacitycommunication.

In light of the diverse computing environments that may be builtaccording to the general framework provided in FIG. 8 and the furtherdiversification that can occur in computing in a network environmentsuch as that of FIG. 8, the systems and methods provided herein cannotbe construed as limited in any way to a particular computingarchitecture or operating system. Instead, the presently disclosedsubject matter should not be limited to any single embodiment, butrather should be construed in breadth and scope in accordance with theappended claims.

As mentioned above, while exemplary embodiments have been described inconnection with various computing devices, the underlying concepts maybe applied to any computing device or system. Thus, the methods andsystems of the present embodiments may be applied to a variety ofapplications and devices. While exemplary names and examples are chosenherein as representative of various choices, these names and examplesare not intended to be limiting. One of ordinary skill in the art willappreciate that there are numerous ways of providing hardware andsoftware implementations that achieves the same, similar or equivalentsystems and methods achieved by the embodiments.

As is apparent from the above, all or portions of the various systems,methods, and aspects of the present embodiments may be embodied inhardware, software, or a combination of both. It is noted that theforegoing examples have been provided merely for the purpose ofexplanation and are in no way to be construed as limiting of the presentembodiments. While the embodiments have been described with reference tovarious embodiments, it is understood that the words which have beenused herein are words of description and illustration, rather than wordsof limitation. Further, although the embodiments have been describedherein with reference to particular means, materials, the embodiments isnot intended to be limited to the particulars disclosed herein; rather,the embodiments extend to all functionally equivalent structures,methods and uses, such as are within the scope of the appended claims.

What is claimed:
 1. A computer-implemented method comprising:determining a current location of a mobile device of a buyer using alocation sensor, the buyer having a buyer profile describing a buyercharacteristic and a realty criteria; identifying a plurality ofresidents within a range of the current location, the plurality ofresidents having a plurality of resident profiles describing residentcharacteristics; identifying a correlated resident profile among theplurality of resident profiles, the correlated resident profile having acorrelated resident characteristic that correlates to the buyercharacteristic associated with the buyer profile; determining realtyavailable proximate to a resident address associated with the correlatedresident profile; transmitting an alert to the mobile device of thebuyer indicating the realty available; and causing presentation of thealert via the mobile device of the buyer, the buyer characteristic andresident characteristics include at least one of an environmentalfactor, a demographic factor, and a landlord factor, and the realtycriteria includes at least one of a property criteria, an educationalcriteria, a governmental criteria, or a demographic criteria.
 2. Themethod of claim 1, further comprising: receiving a set of realty searchcriteria from at least one of a user or a third party; and removing therealty from the alert based on the realty search criteria.
 3. The methodof claim 1, further comprising suppressing the alert based on a previousalert related to the realty.
 4. The method of claim 1, furthercomprising: defining a trigger location for the realty available, thealert is based on the trigger location; and receiving information aboutthe realty available within the trigger location.
 5. The method of claim4, further comprising deleting information about the realty availablewithin the trigger location after a predetermined time period.
 6. Themethod of claim 1, wherein the environmental factor includes one oftraffic, noise, road conditions, and kid friendliness, wherein thedemographic factor includes a resident name, a resident age, a residentprofession, a resident employer, a residential marital status, aresident salary range, a resident family status, a resident educationalaffiliation, or a resident military affiliation, and wherein thelandlord factor includes landlord responsiveness.
 7. The method of claim1, wherein the property criteria includes a number of bedrooms, a price,a square footage, whether a property is for sale or for rent, whereinthe educational criteria includes school district information whereinthe governmental criteria includes a zoning status, and wherein thedemographic criteria includes a crime rate.
 8. The method of claim 1further comprising: defining a trigger location for the realtyavailable, the alert is based on the trigger location; and defining arank for the trigger location, wherein the rank corresponds to a numberof correlated resident profiles proximate to the trigger location.
 9. Asystem comprising: a location sensor of a buyer mobile device todetermine a current location of a buyer; a recommend locations moduleassociated with a networked computer executing instructions read from astorage medium to: receive the current buyer location of the buyer, thebuyer having a buyer profile including a buyer characteristic and arealty criteria; identify a plurality of residents within a range of thecurrent buyer location, the plurality of residents having a plurality ofresident profiles describing resident characteristics; identify acorrelated resident profile among the plurality of resident profiles,the correlated resident profile having a correlated residentcharacteristic that correlates to the buyer characteristic associatedwith the buyer profile; determine realty available proximate to aresident address associated with the correlated resident profile;transmit an alert to the buyer mobile device indicating the realtyavailable; and provide the alert to the buyer using the mobile device,the buyer characteristic and resident characteristics include at leastone of an environmental factor, a demographic factor, and a landlordfactor, and the realty criteria includes at least one of a propertycriteria, an educational criteria, or a demographic criteria.
 10. Thesystem of claim 9, wherein the buyer sets an outer bound of the range.11. The system of claim 9, wherein the current buyer location is dynamicand moves with the buyer.
 12. The system of claim 9, further comprisingidentifying at least one cluster of realty based on the correlation, thecluster of realty including the realty.
 13. The system of claim 12,further comprising extending the range to include the realty clusterbased on a statistical calculation.
 14. The system of claim 12, furthercomprising representing at least the realty cluster according to a heatmap.
 15. A non-transitory computer-readable storage medium comprisingcomputer-readable instructions comprising: identifying a buyer having abuyer profile including a buyer characteristic and a realty criteria;identifying a buyer location of the buyer using a location sensor of amobile device associated with the buyer; identifying a plurality ofresidents within a range of the buyer location; identifying a residentprofile of a resident among the plurality of residents having a residentcharacteristic that correlates to the buyer characteristic associatedwith to the buyer profile, the resident having an address; determiningrealty available proximate to the address; and transmitting an alert tothe mobile device indicating the realty available, the buyercharacteristic and resident characteristics include at least one of anenvironmental factor, a demographic factor, and a landlord factor, andthe realty criteria includes at least one of a property criteria, aneducational criteria, or a demographic criteria.
 16. The non-transitorycomputer-readable storage medium of claim 15, further comprisingreceiving a set of realty search criteria from at least one of the buyeror a third party.
 17. The non-transitory computer-readable storagemedium of claim 16, wherein the set of realty search criteria is atleast one of objective information or subjective information.
 18. Thenon-transitory computer-readable storage medium of claim 15, wherein thealert is received on a device associated with the buyer.
 19. Thenon-transitory computer-readable storage medium of claim 15, theinstructions further comprise: defining a trigger location for therealty available, the alert is based on the trigger location; andreceiving information about the realty available within the triggerlocation.
 20. The non-transitory computer-readable storage medium ofclaim 19, wherein information about the realty available within thetrigger location is maintained in a database remote to a currentlocation associated with the buyer.